#ifndef _SIMPLETIMER_H_
#define _SIMPLETIMER_H_

/* O uso do typedef a seguir define um nome para o tipo de função
 * esperado para ser associado ao temporizador do programa. Ela deve ser
 * uma função sem parâmetros e que não retorna valor algum. 
 */
typedef void (*timer_func_t)(int);
/*
 * A funcao set_timer recebe como parametros o tempo em milésimos de segundos
 * a ser usado entre disparos do alarme e a função que deve ser executada
 * a cada intervalo.
 * Uma vez programado, o alarme sera' acionado repetidamente.
 * OBS.: um programa que utilize esse alarme nao deve utilizar 
 * as funcoes sleep() e usleep() enquanto o alarme estiver habilitado.
 */

/* ATENÇÃO:
 * Apesar do parâmetro ser em milisegundos, recomenda-se não usar valores
 * abaixo de um décimo de segundo. De qualquer forma, nunca se deve confiar
 * exageradamente na precisão do tempo marcado.
 */
void init_timer( timer_func_t tfunc, int miliseconds );
#endif
